package com.alibaba.citrus.ots.platform.enhance.api;

import com.alibaba.citrus.ots.platform.enhance.dto.api.request.CustomerBatchRequest;
import com.alibaba.citrus.ots.platform.enhance.dto.api.request.CustomerRequest;
import com.alibaba.citrus.ots.platform.enhance.dto.api.request.QueryCustomerRequest;
import com.alibaba.citrus.ots.platform.enhance.sdo.CustomerSDO;
import com.alibaba.cz.base.tool.page.PageResult;
import com.alibaba.cz.base.tool.result.Result;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;

import java.util.List;

@MeshFlowService(apps = {"bc_ots"}, name = "customerQueryService")
public interface CustomerQueryService {
    /**
     * 查询用户
     *
     * @param customerRequest
     * @return
     */
    Result<CustomerSDO> queryCustomer(CustomerRequest customerRequest);


    /**
     * 根据用户id批量查询用户
     *
     * @return
     */
    Result<List<CustomerSDO>> batchQueryCustomer(CustomerBatchRequest request);

    /**
     * 分页查询用户
     *
     * @param request
     * @return
     */
    Result<PageResult<List<CustomerSDO>>> pageQueryCustomer(QueryCustomerRequest request);

}
